1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
|
const obj = new Object() Object.defineProperty(obj, 'name', { configurable: false, writable: false, enumerable: true, value: '一个不能被修改的名字' }) console.log(obj.name)
const obj2 = new Object() Object.defineProperties(obj2, { name: { writable: true, value: '张三' }, Name: { get: function() { return `${this.name}先生` }, set: function(value) { this.name = value || '未知' } } }) console.log(obj2.name) console.log(obj2.Name) obj2.Name = '' console.log(obj2.name)
Object.getOwnPropertyDescriptor(obj2, 'name') Object.getOwnPropertyDescriptor(obj2)
|